home *** CD-ROM | disk | FTP | other *** search
/ Champak 140 / (Vol 140) Sep 19 2011.iso / Games / top_that_pizza.swf / scripts / FScrollSelectListSymbol.as < prev    next >
Text File  |  2011-09-19  |  6KB  |  188 lines

  1. function FScrollSelectListClass()
  2. {
  3.    this.init();
  4. }
  5. FScrollSelectListClass.prototype = new FSelectableListClass();
  6. FScrollSelectListClass.prototype.getScrollPosition = function()
  7. {
  8.    return this.topDisplayed;
  9. };
  10. FScrollSelectListClass.prototype.setScrollPosition = function(pos)
  11. {
  12.    var _loc1_ = pos;
  13.    var _loc2_ = this;
  14.    if(_loc2_.enable)
  15.    {
  16.       _loc1_ = Math.min(_loc1_,_loc2_.getLength() - _loc2_.numDisplayed);
  17.       _loc1_ = Math.max(_loc1_,0);
  18.       _loc2_.scrollBar_mc.setScrollPosition(_loc1_);
  19.    }
  20. };
  21. FScrollSelectListClass.prototype.setAutoHideScrollBar = function(flag)
  22. {
  23.    var _loc1_ = this;
  24.    _loc1_.permaScrollBar = !flag;
  25.    _loc1_.setSize(_loc1_.width,_loc1_.height);
  26. };
  27. FScrollSelectListClass.prototype.setEnabled = function(enabledFlag)
  28. {
  29.    super.setEnabled(enabledFlag);
  30.    this.scrollBar_mc.setEnabled(this.enable);
  31. };
  32. FScrollSelectListClass.prototype.setSize = function(w, h)
  33. {
  34.    var _loc1_ = this;
  35.    var _loc2_ = _loc1_.getScrollPosition();
  36.    super.setSize(w,h);
  37.    if(_loc1_.scrollBar_mc != undefined)
  38.    {
  39.       _loc1_.removed = true;
  40.    }
  41.    _loc1_.scrollBar_mc = undefined;
  42.    _loc1_.initScrollBar();
  43.    _loc1_.setScrollPosition(_loc2_);
  44. };
  45. FScrollSelectListClass.prototype.modelChanged = function(eventObj)
  46. {
  47.    super.modelChanged(eventObj);
  48.    this.invalidate("initScrollBar");
  49. };
  50. FScrollSelectListClass.prototype.initScrollBar = function()
  51. {
  52.    var _loc1_ = this;
  53.    if(!_loc1_.permaScrollBar && _loc1_.getLength() <= _loc1_.numDisplayed)
  54.    {
  55.       if(_loc1_.removed)
  56.       {
  57.          _loc1_.scrollBar_mc.removeMovieClip();
  58.          _loc1_.scrollBar_mc = undefined;
  59.          _loc1_.scrollOffset = undefined;
  60.          _loc1_.invalidate("setSize");
  61.       }
  62.    }
  63.    else
  64.    {
  65.       if(_loc1_.scrollBar_mc == undefined)
  66.       {
  67.          _loc1_.container_mc.attachMovie("FScrollBarSymbol","scrollBar_mc",3000,{hostStyle:_loc1_.styleTable});
  68.          _loc1_.scrollBar_mc = _loc1_.container_mc.scrollBar_mc;
  69.          _loc1_.scrollBar_mc.setChangeHandler("scrollHandler",_loc1_);
  70.          _loc1_.scrollBar_mc.setSize(_loc1_.height);
  71.          _loc1_.scrollBar_mc._x = _loc1_.width - _loc1_.scrollBar_mc._width;
  72.          _loc1_.scrollBar_mc._y = 0;
  73.          _loc1_.scrollBar_mc.setLargeScroll(_loc1_.numDisplayed - 1);
  74.          _loc1_.scrollOffset = _loc1_.scrollBar_mc._width;
  75.          _loc1_.invalidate("setSize");
  76.       }
  77.       _loc1_.scrollBar_mc.setScrollProperties(_loc1_.numDisplayed,0,_loc1_.getLength() - _loc1_.numDisplayed);
  78.    }
  79. };
  80. FScrollSelectListClass.prototype.scrollHandler = function(scrollBar)
  81. {
  82.    var _loc2_ = this;
  83.    var _loc1_ = scrollBar.getScrollPosition();
  84.    _loc2_.topDisplayed = _loc1_;
  85.    if(_loc2_.lastPosition != _loc1_)
  86.    {
  87.       _loc2_.updateControl();
  88.    }
  89.    _loc2_.lastPosition = _loc1_;
  90. };
  91. FScrollSelectListClass.prototype.clickHandler = function(itmNum)
  92. {
  93.    var _loc1_ = this;
  94.    super.clickHandler(itmNum);
  95.    if(_loc1_.dragScrolling == undefined && _loc1_.scrollBar_mc != undefined)
  96.    {
  97.       _loc1_.dragScrolling = setInterval(_loc1_,"dragScroll",15);
  98.    }
  99. };
  100. FScrollSelectListClass.prototype.releaseHandler = function()
  101. {
  102.    clearInterval(this.dragScrolling);
  103.    this.dragScrolling = undefined;
  104.    super.releaseHandler();
  105. };
  106. FScrollSelectListClass.prototype.dragScroll = function()
  107. {
  108.    var _loc1_ = this;
  109.    clearInterval(_loc1_.dragScrolling);
  110.    if(_loc1_.container_mc._ymouse < 0)
  111.    {
  112.       _loc1_.setScrollPosition(_loc1_.getScrollPosition() - 1);
  113.       _loc1_.selectionHandler(0);
  114.       _loc1_.scrollInterval = Math.max(25,-23.8 * (- _loc1_.container_mc._ymouse) + 500);
  115.       _loc1_.dragScrolling = setInterval(_loc1_,"dragScroll",_loc1_.scrollInterval);
  116.    }
  117.    else if(_loc1_.container_mc._ymouse > (_loc1_.itmHgt - 2) * _loc1_.numDisplayed)
  118.    {
  119.       _loc1_.setScrollPosition(_loc1_.getScrollPosition() + 1);
  120.       _loc1_.selectionHandler(_loc1_.numDisplayed - 1);
  121.       _loc1_.scrollInterval = Math.max(25,-23.8 * Math.abs(_loc1_.container_mc._ymouse - (_loc1_.itmHgt - 2) * _loc1_.numDisplayed - 2) + 500);
  122.       _loc1_.dragScrolling = setInterval(_loc1_,"dragScroll",_loc1_.scrollInterval);
  123.    }
  124.    else
  125.    {
  126.       _loc1_.dragScrolling = setInterval(_loc1_,"dragScroll",15);
  127.    }
  128. };
  129. FScrollSelectListClass.prototype.myOnKeyDown = function()
  130. {
  131.    var _loc2_ = this;
  132.    if(_loc2_.focused)
  133.    {
  134.       _loc2_.keyCodes = new Array(40,38,34,33,36,35);
  135.       _loc2_.keyIncrs = new Array(1,-1,_loc2_.numDisplayed - 1,- (_loc2_.numDisplayed - 1),- _loc2_.getLength(),_loc2_.getLength());
  136.       var _loc1_ = 0;
  137.       while(true)
  138.       {
  139.          if(_loc1_ >= _loc2_.keyCodes.length)
  140.          {
  141.             _loc2_.findInputText();
  142.             break;
  143.          }
  144.          if(Key.isDown(_loc2_.keyCodes[_loc1_]))
  145.          {
  146.             _loc2_.moveSelBy(_loc2_.keyIncrs[_loc1_]);
  147.             break;
  148.          }
  149.          _loc1_ = _loc1_ + 1;
  150.       }
  151.    }
  152. };
  153. FScrollSelectListClass.prototype.findInputText = function()
  154. {
  155.    var _loc1_ = Key.getAscii();
  156.    if(_loc1_ >= 33 && _loc1_ <= 126)
  157.    {
  158.       this.findString(String.fromCharCode(_loc1_));
  159.    }
  160. };
  161. FScrollSelectListClass.prototype.findString = function(str)
  162. {
  163.    if(this.getLength() != 0)
  164.    {
  165.       var _loc3_ = this.getSelectedIndex();
  166.       var jump = 0;
  167.       var _loc1_ = _loc3_ + 1;
  168.       while(_loc1_ != _loc3_)
  169.       {
  170.          var _loc2_ = this.getItemAt(_loc1_).label.substring(0,str.length);
  171.          if(str == _loc2_ || str.toUpperCase() == _loc2_.toUpperCase())
  172.          {
  173.             var jump = _loc1_ - _loc3_;
  174.             break;
  175.          }
  176.          if(_loc1_ >= this.getLength() - 1)
  177.          {
  178.             _loc1_ = -1;
  179.          }
  180.          _loc1_ = _loc1_ + 1;
  181.       }
  182.       if(jump != 0)
  183.       {
  184.          this.moveSelBy(jump);
  185.       }
  186.    }
  187. };
  188.